home *** CD-ROM | disk | FTP | other *** search
/ ADA Programming Guide / ADA Programming Guide.iso / ada_gnu / include / djgppstd.h < prev    next >
C/C++ Source or Header  |  1996-01-30  |  10KB  |  308 lines

  1. /* This is file std.h */
  2. /* This file may have been modified by DJ Delorie (Jan 1991).  If so,
  3. ** these modifications are Coyright (C) 1991 DJ Delorie, 24 Kirsten Ave,
  4. ** Rochester NH, 03867-2954, USA.
  5. */
  6.  
  7. /* This may look like C code, but it is really -*- C++ -*- */
  8. /* 
  9. Copyright (C) 1988 Free Software Foundation
  10.     written by Doug Lea (dl@rocky.oswego.edu)
  11.  
  12. This file is part of GNU CC.
  13.  
  14. GNU CC is distributed in the hope that it will be useful,
  15. but WITHOUT ANY WARRANTY.  No author or distributor
  16. accepts responsibility to anyone for the consequences of using it
  17. or for whether it serves any particular purpose or works at all,
  18. unless he says so in writing.  Refer to the GNU CC General Public
  19. License for full details.
  20.  
  21. Everyone is granted permission to copy, modify and redistribute
  22. GNU CC, but only under the conditions described in the
  23. GNU CC General Public License.   A copy of this license is
  24. supposed to have been given to you along with GNU CC so you
  25. can know your rights and responsibilities.  It should be in a
  26. file named COPYING.  Among other things, the copyright notice
  27. and this notice must be preserved on all copies.  
  28. */
  29.  
  30.  
  31. #ifndef _djgpp_std_h
  32. #define _djgpp_std_h 1
  33.  
  34. #include <stddef.h>
  35.  
  36. #include <sys/types.h>
  37.  
  38. #ifndef offsetof
  39. #define offsetof(type,rec) ((int)(&(((type *)0)->rec)))
  40. #endif
  41.  
  42. struct tm;
  43.  
  44.  
  45. #ifdef __cplusplus
  46. extern "C" {
  47. #endif
  48.  
  49. u_long ntohl(u_long);
  50. u_long htonl(u_long);
  51. u_short ntohs(u_short);
  52. u_short htons(u_short);
  53.  
  54. struct vaxque { struct vaxque *vq_next; struct vaxque *vq_prev;};
  55. void insque(struct vaxque *, struct vaxque *);
  56.  
  57. volatile void _exit(int);
  58. volatile void abort(void);
  59. int       abs(int);
  60. int       access(const char*, int);
  61. int       acct(const char*);
  62. unsigned  alarm(unsigned);
  63. int       atexit(void (*)(void));
  64. double    atof(const char*);
  65. int       atoi(const char*);
  66. long      atol(const char*);
  67. long double _atold(const char *);
  68. /* int       bind(int, void*, int); POHC */
  69. int       brk(void*);
  70. void *    bsearch (const void *, const void *, size_t, 
  71.            size_t, int (*ptf)(const void*, const void*));
  72. void*     calloc(size_t, size_t);
  73. void      cfree(void*);
  74. int       chdir(const char*);
  75. int       chmod(const char*, int);
  76. int       chown(const char*, int, int);
  77. long      clock(void); /* should be clock_t really  */
  78. int       close(int);
  79. int       creat(const char*, unsigned long int);
  80. unsigned  crlf2nl(char *, unsigned);
  81. /* char*     crypt(const char*, const char*); POHC */
  82. char*     ctermid(char*);
  83. char*     cuserid(char*);
  84. double    drand48(void);
  85. int       dup(int);
  86. int       dup2(int, int);
  87. int       dysize(int);
  88. char*     ecvt(double, int, int*, int*);
  89. char*     encrypt(char*, int);
  90. double    erand(short*);
  91. int       execl(const char *, const char *, ...);
  92. int       execle(const char *, const char *, ...);
  93. int       execlp(const char *, const char *, ...);
  94. int       execv(const char *,  char * const *);
  95. int       execve(const char *, char * const *, char * const *);
  96. int       execvp(const char *,  char * const *);
  97. void volatile exit(int);
  98. int       fchmod(int, int);
  99. int       fchown(int, int, int);
  100. int       fcntl(int, int, ...);
  101. char*     fcvt(double, int, int*, int*);
  102. int       ffs(int);
  103. int       flock(int, int);
  104. int       fork(void);
  105. void      free(void*);
  106. int       fsync(int);
  107. long      ftok(const char*, int);
  108. int       ftruncate(int, unsigned long);
  109. char*     gcvt(double, int, char*);
  110. char*     getcwd(char*, int);
  111. int       getdomainname(char*, int);
  112. int       getdtablesize(void);
  113. int       getegid(void);
  114. char*     getenv(const char*);
  115. int       geteuid(void);
  116. int       getgid(void);
  117. int       getgroups(int, int*);
  118. long      gethostid(void);
  119. int       gethostname(char*, int);
  120. char*     getlogin(void);
  121. int       getlongpass(const char *, char *, int);
  122. /* int       getopt(int, char* const*, const char*); */
  123. int       getpagesize(void);
  124. char*     getpass(const char*);
  125. /* int       getpgrp(); */
  126. int       getpid(void);
  127. int       getppid(void);
  128. int       getpriority(int, int);
  129. int       getpw(int, char*);
  130. uid_t     getuid(void);
  131. char*     getwd(char*);
  132. char*     initstate(unsigned, char*, int);
  133. /* int       ioctl(int, int, char*); POHC */
  134. int       isatty(int);
  135. char *    itoa(int value, char *buffer, int radix);
  136. long      jrand48(short*);
  137. int       kill(int, int);
  138. int       killpg(int, int);
  139. long      labs(long);
  140. void      lcong48(short*);
  141. int       link(const char*, const char*);
  142. int       listen(int, int);
  143. /* int       lock(int, int, long); */
  144. long      lrand48(void);
  145. long      lseek(int, long, int);
  146. void*     malloc(size_t);
  147. unsigned  malloc_usable_size(void*);
  148. void*     memalign(unsigned, unsigned);
  149. void*     memccpy(void*, const void*, int, size_t);
  150. void*     memmove(void*, const void*, size_t);
  151. void*     memchr(const void*, int, size_t);
  152. int       memcmp(const void*, const void*, size_t);
  153. void*     memcpy(void*, const void*, size_t);
  154. void*     _memcpy(void*, const void*, int); /* doesn't use movsb */
  155. void*     memset(void*, int, size_t);
  156. int       mkdir(const char*, int);
  157. int       mknod(const char*, int, int);
  158. int       mkstemp(char*);
  159. char*     mktemp(char*);
  160. long      mrand48(void);
  161. int       nice(int);
  162. long      nrand48(short*);
  163. #ifdef DGUX
  164. int       open(char*, int, ...);
  165. #else
  166. int       open(const char*, int, ...);
  167. #endif
  168. void volatile pause(void);
  169. void      perror(const char*);
  170. int       pipe(int*);
  171. int       profil(char*, int, int, int);
  172. void      psignal(unsigned, const char*);
  173. int       putenv(const char*);
  174. void      qsort(void*, size_t, size_t, int (*ptf)(const void*,const void*));
  175. int       rand(void);
  176. long      random(void);
  177. int       read(int, void*, unsigned);
  178. int       readlink(const char*, char*, int);
  179. void*     realloc(void*, size_t);
  180. int       remove(const char *);
  181. void      remque(struct vaxque *);
  182. int       rename(const char*, const char*);
  183. int       rmdir(const char*);               
  184. void*     sbrk(int);              
  185. short*    seed48(short*);
  186. /* int       send(int, char*, int, int); POHC */
  187. int      setdomainname(char *, int);
  188. int      setenv(const char *, const char *, int);
  189. int       setgid(int);
  190. int       sethostname(char*, int);
  191. int       setkey(const char*);
  192. /* int       setpgrp(); */
  193. int       setpriority(int, int, int);
  194. int       setregid(int, int);
  195. int       setreuid(int, int);
  196. char*     setstate(char*);
  197. int       setuid(int);
  198. int       sigblock(int);
  199. int       siginterrupt(int, int);
  200. int       sigpause(int);
  201. int       sigsetmask(int);
  202. unsigned  sleep(unsigned);
  203. int       socket(int, int, int);
  204. void      srand(int);
  205. void      srand48(long);
  206. void      srandom(int);
  207. int       stime(long*);
  208. int       strcasecmp(const char *, const char *);
  209. char*     strcat(char*, const char*);
  210. char*     strchr(const char*, int);
  211. int       strcmp(const char*, const char*);
  212. char*     strcpy(char*, const char*);
  213. size_t    strcspn(const char*, const char*);
  214. char*     strdup(const char*);
  215. char*     strerror(int);
  216. size_t    strftime(char *, size_t, const char *, struct tm *);
  217. int       stricmp(const char *, const char *);
  218. size_t    strlen(const char*);
  219. char*     strlwr(char *);
  220. int       strncasecmp(const char *, const char *, size_t);
  221. char*     strncat(char*, const char*, size_t);
  222. int       strncmp(const char*, const char*, size_t);
  223. char*     strncpy(char*, const char*, size_t);
  224. int       strnicmp(const char *, const char *, size_t);
  225. char*     strpbrk(const char*, const char*);
  226. char*     strrchr(const char*, int);
  227. size_t     strspn(const char*, const char*);
  228. char*     strstr(const char*, const char*);
  229. double    strtod(const char*, char**);
  230. long double _strtold(const char *, char **);
  231. char*     strtok(char*, const char*);
  232. long      strtol(const char*, char**, int);
  233. unsigned long strtoul(const char*, char**, int);
  234. char*     strupr(char *);
  235. void      swab(void*, void*, int);
  236. int       symlink(const char*, const char*);
  237. int       syscall(int, ...);
  238. int       system(const char*);
  239. char*     tempnam(const char*, const char*);
  240. int       tgetent(char*, char*);
  241. int       tgetnum(char*);
  242. int       tgetflag(char*);
  243. char*     tgetstr(char *, char **);
  244. char*     tgoto(char*, int, int);
  245. unsigned long      time(unsigned long*);
  246. char*     tmpnam(char*);
  247. /* int       tputs(char *, int, int (*)()); */
  248. int       truncate(const char*, unsigned long);
  249. char*     ttyname(int);
  250. int       ttyslot(void);
  251. unsigned  ualarm(unsigned, unsigned);
  252. long      ulimit(int, long);
  253. int       umask(int);
  254. int       unlink(const char*);
  255. void      unsetenv(const char *);
  256. unsigned  usleep(unsigned);
  257. int       vadvise(int);
  258. void*     valloc(unsigned);
  259. int       vfork(void);
  260. int       vhangup(void);
  261. int       wait(int*);
  262. int       write(int, const void*, unsigned);
  263.  
  264. #ifdef __cplusplus
  265. }
  266. #endif
  267.  
  268.  
  269. #ifdef __cplusplus
  270. extern "C" {
  271. #endif
  272. int       bcmp(const void*, const void*, int);
  273. void      bcopy(const void*, void*, int);
  274. void      _bcopy(const void*, void*, int); /* doesn't use movsb */
  275. void      bzero(void*, int);
  276. char*     index(const char*, int);
  277. char*     rindex(const char*, int);
  278. #ifdef __cplusplus
  279. }
  280. #endif
  281.  
  282. extern char**   environ;
  283. extern volatile int errno;
  284. extern char*    sys_errlist[];
  285. extern int      sys_nerr;                  
  286. extern char*    optarg;
  287. extern int      opterr;
  288. extern int      optind;
  289.  
  290.  
  291. #ifdef __cplusplus
  292. extern "C" {
  293. #endif
  294.  
  295. /* extern void* alloca(size_t); */
  296. #ifndef alloca
  297. extern void *(alloca) (unsigned);
  298. #define alloca(x)  __builtin_alloca(x)
  299. #endif
  300.  
  301. #ifdef __cplusplus
  302. }
  303. #endif
  304.  
  305. #undef volatile
  306.  
  307. #endif 
  308.